<?php
require_once('config.inc.php');

page_open( array( 'sess' => 'MySession'
                , 'auth' => 'MyAuth'
                )
         );

page_close();

/**
 * get_row_compte_content
 */ 
function get_row_compte_content($id, $numero, $libelle, $solde)
{
  return <<<EORCC
  <td><a href="compte.php?id_compte=$id">$numero</a></td>
  <td><a href="compte.php?id_compte=$id">$libelle</a></td>
  <td><a href="compte.php?id_compte=$id">$solde €</a></td>
  <td class="action">
    <a href="#" id="btn_del_$id">
      <img src="img/drop.png" title="Supprimer le compte n°$numero ($libelle)"></a></td>
  <td class="action">
    <a href="#" id="btn_edit_$id">
      <img src="img/edit.png" title="Modifier le compte n°$numero ($libelle)"></a></td>

<script type="text/javascript">
  window.Accueil.look_compte($id, "$numero", "$libelle");
</script>

EORCC;
}

/**
 * get_row_compte
 */
function get_row_compte($id, $numero, $libelle, $solde)
{
  $content = get_row_compte_content($id, $numero, $libelle, $solde);
  return <<<EORC
  <tr id="row_compte_$id">$content</tr>
EORC;
}

/**
 * get_patrimoine_code
 */ 
function get_patrimoine_code($patrimoine)
{
  return <<<EOPC
<script type="text/javascript">
  window.Accueil.set_patrimoine("$patrimoine €");
</script>
EOPC;
}

/**
 * get_delete_code
 */ 
function get_delete_code($id)
{
  return "window.Accueil.delete_compte($id);";
}

/**
 * get_pwd_code
 */ 
function get_pwd_code()
{
  return "alert('Votre mot de passe a été mis à jour.');";
}

// ACTIONS
switch (rd_get('action'))
{
case 'load':
  $comptes    = Gestion::get_comptes($auth->auth['uid']);
  $patrimoine = 0;
  foreach ($comptes as $compte)
  {
    $solde = Gestion::get_solde($compte['id']);
    $patrimoine += $solde;

    print get_row_compte( $compte['id']
                        , $compte['numero']
                        , $compte['libelle']
                        , $solde
                        );
  }
  print get_patrimoine_code($patrimoine);
  break;

case 'new_compte':
  $numero  = rd_get('numero');
  $libelle = rd_get('libelle');
  $id      = Gestion::create_compte($numero, $libelle, $auth->auth['uid']);
  if ($id)
  {
    print get_row_compte($id, $numero, $libelle, 0);
  }
  break;

case 'update':
  $id      = rd_get('id_compte');
  $numero  = rd_get('numero');
  $libelle = rd_get('libelle');
  $solde   = Gestion::get_solde($id);
  Gestion::update_compte($id, $numero, $libelle);

  print get_row_compte_content( $id
                              , $numero
                              , $libelle
                              , $solde
                              );
  break;

case 'delete':
  $id = rd_get('id');
  if (Gestion::delete_compte($id))
  {
    header("Content-Type: application/javascript");
    print get_delete_code($id);
  }
  break;

case 'change_pwd':
  if (Gestion::update_pwd($auth->auth['uid'], rd_get('pwd')))
  {
    header("Content-Type: application/javascript");
    print get_pwd_code();
  }
  break;
}
?>
